package com.ztgf.order.models.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ztgf.common.annotations.CustomerBigDecimalSerialize;
import com.ztgf.common.annotations.CustomerIntegerNullJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * author: chenyu.wang
 * date: 2020-07-01 14:27
 * Description:
 */
@Data
public class OrderInfoGoodsVO implements Serializable {

    @ApiModelProperty(value = "订单商品表id")
    private Long id;

    @ApiModelProperty(value = "商品主图")
    private String logUrl;

    @ApiModelProperty(value = "商品主图")
    private String purchaseCommodityUrl;

    @ApiModelProperty(value = "商品id")
    private Long commodityId;

    @ApiModelProperty(value = "商品名称")
    private String commodityName;

    @ApiModelProperty(value = "商品编号")
    private String commodityNumber;

    @ApiModelProperty(value = "规格属性id/套餐id,以逗号隔开")
    private String atrrId;

    @ApiModelProperty(value = "商品单价格")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal price;

    @ApiModelProperty(value = "商品数量")
    private Integer num;

    @ApiModelProperty(value = "商品小计金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal moeny;

    @ApiModelProperty(value = "实付金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal actualMoney;

    @ApiModelProperty(value = "商品单位名称")
    private String unitName;

    @ApiModelProperty(value = "是否申请售后，0否，1是")
    private Integer isView;

    @ApiModelProperty(value = "是否改价，0否，1是")
    private Integer isChangePrice;

    @ApiModelProperty(value = "卖家修改的价格")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal changePrice;

    @ApiModelProperty(value = "改价后的单价")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal newUnitPrice;

    @ApiModelProperty(value = "订单退换货表id")
    private Long orderReturnCommodityId;

    @ApiModelProperty(value = "订单退换货类型,0申请退货,1申请换货")
    private Integer orderReturnType;

    @ApiModelProperty(value = "售后状态 0未售后、1申请售后、2售后中、3售后完成")
    private Integer afterSalesState = 0;

    @ApiModelProperty(value = "是否询价，0否，1是")
    private Integer isInquiry;

    @ApiModelProperty(value = "优惠金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal discountMoney;

    @ApiModelProperty(value = "商品链接")
    private String goodsUrl;

    @ApiModelProperty(value = "卖家改价后优惠金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal changeDiscountPrice;

    @ApiModelProperty(value = "折扣方式 0不享受，1批发、2会员")
    private Integer discountType;

    @ApiModelProperty(value = "批发/会员优惠金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal otherDiscountPrice;

    @ApiModelProperty(value = "退款数量")
    private Integer numberOfRefunds;

    @ApiModelProperty(value = "退款金额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal refundAmount;

    @ApiModelProperty(value = "询盘商品类型")
    private Integer purchaseCommodityType;

    @ApiModelProperty(value = "询盘商品砍价服务费")
    private BigDecimal purchaseFeeMoneyScalePrice;

    @ApiModelProperty(value = "询盘商品砍价状态 0未申请，1申请中、2申请成功、3申请失败、4平台已协商")
    private Integer platBargainStatus;

    @ApiModelProperty(value = "询盘商品报价表id")
    private Long purchaseCommodityBargainId;

    @ApiModelProperty(value = "询盘信息表id")
    private Long purchaseInfoId;

    @ApiModelProperty(value = "询盘商品砍价报名费")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal purchaseFeeMoney;

    @ApiModelProperty(value = "询盘订单主办人名称")
    private String organiserUserName;

}
